package cn.yinyu.queue.module.ecg.controller.admin.callingscreen;

import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDate;

@Schema(description = "叫号屏数据")
@Data
public class ScreenQueueRespVO {

    @Schema(description = "患者编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "30473")
    @ExcelProperty("患者编号")
    private String patId;

    @Schema(description = "患者姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "嘉木")
    @ExcelProperty("患者姓名")
    private String patName;

    @Schema(description = "患者性别")
    @ExcelProperty("患者性别")
    private Byte patGender;

    @Schema(description = "预约日期")
    @ExcelProperty("预约日期")
    private LocalDate bookDate;

    @Schema(description = "预约检查类型", example = "1")
    @ExcelProperty("预约检查类型")
    private Integer bookCheckType;

    @Schema(description = "排队序号", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("排队序号")
    private Integer seqNum;

    @Schema(description = "预约序号", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("预约序号")
    private Integer bookSeqNum;

    /**
     * 5:过号 10:排队中 15:已召回 20:候诊准备 30:就诊中 40:就诊完成
     */
    @Schema(description = "排队状态", example = "1")
    @ExcelProperty("排队状态")
    private Byte status;

    @Schema(description = "过号标记", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("过号标记")
    private Byte passed;

    @Schema(description = "预约过期标记", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("预约过期标记")
    private Byte expired;

    @Schema(description = "插队标记", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("插队标记")
    private Byte jumpFlag;

    @Schema(description = "诊室编号")
    @ExcelProperty("诊室编号")
    private Long roomId;

    @Schema(description = "诊室名称")
    @ExcelProperty("诊室名称")
    private String roomName;

    @Schema(description = "诊疗床编号")
    @ExcelProperty("诊疗床编号")
    private String bedNo;
}